Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
@thi.ng/checks
Advanced tools
@thi.ng/checks is a utility library for various type checks and predicates in JavaScript. It provides a wide range of functions to check types, values, and conditions, making it easier to validate data and ensure code correctness.
Type Checks
This feature allows you to check the type of a given value. The `isString` function checks if the value is a string, and the `isNumber` function checks if the value is a number.
const { isString, isNumber } = require('@thi.ng/checks');
console.log(isString('hello')); // true
console.log(isNumber(123)); // true
console.log(isNumber('123')); // false
Array Checks
This feature provides functions to check if a value is an array and if an array is empty. The `isArray` function checks if the value is an array, and the `isEmptyArray` function checks if the array is empty.
const { isArray, isEmptyArray } = require('@thi.ng/checks');
console.log(isArray([1, 2, 3])); // true
console.log(isEmptyArray([])); // true
console.log(isEmptyArray([1])); // false
Object Checks
This feature includes functions to check if a value is an object and if an object is empty. The `isObject` function checks if the value is an object, and the `isEmptyObject` function checks if the object is empty.
const { isObject, isEmptyObject } = require('@thi.ng/checks');
console.log(isObject({ a: 1 })); // true
console.log(isEmptyObject({})); // true
console.log(isEmptyObject({ a: 1 })); // false
Function Checks
This feature provides a function to check if a value is a function. The `isFunction` function checks if the value is a function.
const { isFunction } = require('@thi.ng/checks');
console.log(isFunction(function() {})); // true
console.log(isFunction(() => {})); // true
console.log(isFunction(123)); // false
String Checks
This feature includes functions to check if a value is a string and if a string is empty. The `isString` function checks if the value is a string, and the `isEmptyString` function checks if the string is empty.
const { isString, isEmptyString } = require('@thi.ng/checks');
console.log(isString('hello')); // true
console.log(isEmptyString('')); // true
console.log(isEmptyString('hello')); // false
Lodash is a modern JavaScript utility library delivering modularity, performance, and extras. It provides a wide range of utility functions for common programming tasks, including type checks, which are similar to those provided by @thi.ng/checks.
Ramda is a practical functional library for JavaScript programmers. It provides utility functions for functional programming, including type checks and predicates, similar to @thi.ng/checks.
Validator is a library for string validation and sanitization. While it focuses more on string validation, it also provides some type-checking functions similar to those in @thi.ng/checks.
Check-types is a library for checking types and conditions in JavaScript. It provides a similar range of type-checking functions as @thi.ng/checks, making it a good alternative.
[!NOTE] This is one of 199 standalone projects, maintained as part of the @thi.ng/umbrella monorepo and anti-framework.
🚀 Please help me to work full-time on these projects by sponsoring me on GitHub. Thank you! ❤️
Collection of 70+ type, feature & value checks.
exists
existsAndNotNull
hasBigInt
hasCrypto
hasMaxLength
hasMinLength
hasPerformance
hasWASM
hasWebGL
hasWebSocket
implementsFunction
isASCII
isAlpha
isAlphaNum
isArray
isArrayBufferLike
isArrayBufferView
isArrayLike
isAsyncIterable
isBigInt
isBlob
isBoolean
isChrome
isDataURL
isDate
isEven
isFalse
isFile
isFirefox
isFloatString
isFunction
isGenerator
isHex
isHexColor
isIE
isIllegalKey
isInRange
isInt32
isIntString
isIterable
isMap
isMobile
isNaN
isNegative
isNil
isNode
isNotStringAndIterable
isNull
isNumber
isNumeric
isNumericFloat
isNumericInt
isObject
isOdd
isPlainObject
isPositive
isPrimitive
isPrintableASCII
isPromise
isPromiseLike
isProtoPath
isRegExp
isSafari
isSet
isString
isSymbol
isTouchEvent
isTransferable
isTrue
isTypedArray
isUUID
isUUIDv4
isUint32
isUndefined
isZero
STABLE - used in production
Search or submit any issues for this package
yarn add @thi.ng/checks
ESM import:
import * as ch from "@thi.ng/checks";
Browser ESM import:
<script type="module" src="https://esm.run/@thi.ng/checks"></script>
For Node.js REPL:
const ch = await import("@thi.ng/checks");
Package sizes (brotli'd, pre-treeshake): ESM: 1.65 KB
TODO
If this project contributes to an academic publication, please cite it as:
@misc{thing-checks,
title = "@thi.ng/checks",
author = "Karsten Schmidt and others",
note = "https://thi.ng/checks",
year = 2016
}
© 2016 - 2024 Karsten Schmidt // Apache License 2.0
FAQs
Collection of 70+ type, feature & value checks
The npm package @thi.ng/checks receives a total of 138,295 weekly downloads. As such, @thi.ng/checks popularity was classified as popular.
We found that @thi.ng/checks demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.